package readerRSS;

import MVC.IModel;

/**
 *
 * @author Tania M
 * @version 1.0
 */
public class RssItemModel implements IModel {
    //un item = une information du canal

    //informations obligatoires
    private String _title = null; //titre de l'article
    private String _link = null; //lien vers le site
    private String _description = null; //description/synopsis de l'article
    //informations optionnelles
    private String _guid = null; //identifiant unique de l'article
    private String _category = null; //categorie de l'article
    private int _viewState; //état de lecture (lu/non lu) chargé de la base (résultant d'une autre exécution du logiciel)

    /**
     *
     */
    public RssItemModel() {
    }

    /**
     * crée un modèle à partir d'un autre modèle
     *
     * @param obj
     */
    public RssItemModel(RssItemModel obj) {
        this._title = obj.getTitle();
        this._link = obj.getLink();
        this._description = obj.getDescription();
        this._guid = obj.getGuid();
        this._category = obj.getCategory();
    }

    /**
     * renvoie le titre
     *
     * @return the titre
     */
    public String getTitle() {
        return _title;
    }

    /**
     * initialise le titre
     *
     * @param title the title to set
     */
    public void setTitle(String title) {
        this._title = title;
    }

    /**
     * renvoie le lien de l'item (article)
     *
     * @return the lien
     */
    public String getLink() {
        return _link;
    }

    /**
     * initialise le lien de l'article
     *
     * @param link the link to set
     */
    public void setLink(String link) {
        this._link = link;
    }

    /**
     * renvoie la description
     *
     * @return the description
     */
    public String getDescription() {
        return _description;
    }

    /**
     * initialise la description
     *
     * @param description the description to set
     */
    public void setDescription(String description) {
        this._description = description;
    }

    /**
     * renvoie le guid
     *
     * @return the guid
     */
    public String getGuid() {
        return _guid;
    }

    /**
     * Guid: identifiant unique de l'article dans le canal
     *
     * @param guid the guid to set
     */
    public void setGuid(String guid) {
        this._guid = guid;
    }

    /**
     * @return the category
     */
    public String getCategory() {
        return _category;
    }

    /**
     * @param category the category to set
     */
    public void setCategory(String category) {
        this._category = category;
    }

    @Override
    public String toString() {
        //converti les flux et leur contenu en String
        return _title;
    }

    /**
     * L'article a-t-il été lu?
     *
     * @return the _viewState
     */
    public int getViewState() {
        return _viewState;
    }

    /**
     * L'article a été lu?
     *
     * @param viewState the _viewState to set
     */
    public void setViewState(int viewState) {
        this._viewState = viewState;
    }
}
